package view.prompt;

import model.dominio.Cliente;
import utilitario.Console;
import utilitario.ManipularArquivo;
import utilitario.ValidaException;

/**
 *
 * @author braulio
 */
public class ViewClientePrompt {

    public static Cliente cadastrarCliente() {
        Cliente cliente;
        System.out.println("================Cadastrar Cliente=================");
        String nome, endereco, telefone, cpf;
        System.out.println("Digite as informações do cliente:");
        System.out.print("Nome: ");
        nome = Console.readString();
        System.out.print("CPF: ");
        cpf = Console.readString();
        String opcao;
        do{
            System.out.print("Deseja adicionar informações ao cliente? (S/N)? ");
            opcao = Console.readString();
            opcao = opcao.toUpperCase();
        } while(!opcao.equals("S") && !opcao.equals("N"));
        
        if ("S".equals(opcao)) {
            System.out.print("Telefone: ");
            telefone = Console.readString();
            System.out.print("Endereço: ");
            endereco = Console.readString();
            cliente = new Cliente(nome, cpf, telefone, endereco);
        } else {
            cliente = new Cliente(nome, cpf);
        } 
        return cliente;
    }

    public static Cliente buscarCliente() {
        System.out.println("Digite o cpf do cliente:");
        String cpf = Console.readString();
        try {
            ManipularArquivo.buscarNoArquivo(Cliente.class.getName(), "cpf", cpf);
        } catch (ValidaException ex) {
            ex.printStackTrace();
        }
        return null;
    }
    
    public static String buscarClienteNome(){
        System.out.println("Digite o nome do cliente:");
        String nome = Console.readString();
        return nome;
    }
    
    public static void imprimeCliente(Cliente cliente){
        System.out.println("Nome:   " + cliente.getNome());
        System.out.println("CPF:    " + cliente.getCpf());
        if(cliente.getEndereco()!=null)
            System.out.println("Endereço:   " + cliente.getEndereco());
        if(!cliente.getTelefone().equals("null"))
            System.out.println("Telefone:   " + cliente.getTelefone());
    }
    
    public static int menuCliente(){
        System.out.println("================ Cliente =================");
        System.out.println("1 - Cadastrar cliente");
        System.out.println("2 - Buscar cliente");
        System.out.println("0 - Voltar ao Menu Principal");
        int x = Console.readInteger();
        while (x<0 || x>2){
            System.out.println("Opção inválida");
            x = Console.readInteger();
        }
        return x;
    }
    
}